<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib prefix="security" uri="http://www.springframework.org/security/tags" %>
<!DOCTYPE html>
<%--用户维护页码 数据显示 分页--%>
<html lang="zh-CN">
<%@include file="/WEB-INF/include-head.jsp"%>
<%--<security:csrfMetaTags/>--%>
<%--引入pagintion--%>
<link rel="stylesheet" href="css/pagination.css"/>

<script type="text/javascript" src="jquery/jquery.pagination.js"></script>
<script type="text/javascript">

    $(function () {
        //调用后面声明的函数 初始化导航条
        initPagination();
    });
    
    function  initPagination() {

        //1.获取总记录数 分页数据在PageInfo中
        var totalRecord=${requestScope.pageInfo.total};

        //声明一个JSON对象存储Pagination要设置的数据
        var properties = {
            num_edge_entries: 3,								// 边缘页数
            num_display_entries: 5,								// 主体页数
            callback: pageSelectCallback,						// 指定用户点击“翻页”的按钮时跳转页面的回调函数
            items_per_page: ${requestScope.pageInfo.pageSize},	// 每页要显示的数据的数量
            current_page: ${requestScope.pageInfo.pageNum - 1},	// Pagination内部使用pageIndex来管理页码，pageIndex从0开始，pageNum从1开始，所以要减一
            prev_text: "上一页",									// 上一页按钮上显示的文本
            next_text: "下一页"
        }

        //2.生成页码导航条
        $("#Pagination").pagination(totalRecord,properties);

        // 回调函数的含义：声明出来以后不是自己调用，而是交给系统或框架调用
        // 用户点击“上一页、下一页、1、2、3……”这样的页码时调用这个函数实现页面跳转
        // pageIndex是Pagination传给我们的那个“从0开始”的页码 当pageNum用需要加1
        function pageSelectCallback(pageIndex, jQuery) {

            // 根据pageIndex计算得到pageNum
            var pageNum = pageIndex + 1;

            // 跳转页面
            window.location.href = "admin/get/page.html?pageNum="+pageNum+"&keyword=${param.keyword}";

            // 由于每一个页码按钮都是超链接，所以在这个函数最后取消超链接的默认行为
            return false;
        }

        }

</script>


<body>
<%@ include file="/WEB-INF/include-nav.jsp"%>
<div class="container-fluid">
    <div class="row">
        <%@ include file="/WEB-INF/include-sidebar.jsp"%>
        <security:csrfMetaTags/>
        <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
            <div class="panel panel-default">
                <div class="panel-heading">
                    <h3 class="panel-title">
                        <i class="glyphicon glyphicon-th"></i> 数据列表
                    </h3>
                </div>
                <div class="panel-body">
<%--                    查询表单 点击查询 提交给admin/get/page.html即可
                这里表单如果提交到/admin/get/page.html 会错误 其提交路径是
                http://localhost:8080/admin/get/page.html
                这里若设置虚拟目录 则admin/get/page.html 不太明白为什么资源路径只有虚拟目录
                这里是前台路径也可以设置为/虚拟目录/admin/get/page.html
                若不设置虚拟目录 可以直接/admin/get/page.html dmin/get/page.html也可以
                前台路径--%>
    <form action="admin/get/page.html" method="post" class="form-inline" role="form" style="float: left;">

                       <security:csrfInput/>
                        <div class="form-group has-feedback">
                            <div class="input-group">
                                <div class="input-group-addon">查询条件</div>
                                <input name="keyword" class="form-control has-success" type="text"
                                       placeholder="请输入查询条件">
                            </div>
                        </div>
                        <button type="submit" class="btn btn-warning">
                            <i class="glyphicon glyphicon-search"></i> 查询
                        </button>
                    </form>
<%--    ------------------------------%>
                    <button type="button" class="btn btn-danger"
                            style="float: right; margin-left: 10px;">
                        <i class=" glyphicon glyphicon-remove"></i> 删除
                    </button>
<%--                    <button type="button" class="btn btn-primary"--%>
<%--                            style="float: right;" onclick="window.location.href='add.html'">--%>
<%--                    </button>--%>
                    <%--  新增--%>
                    <a  href="admin/to/add/page.html"  style="float: right;"  class="btn btn-primary"><i class="glyphicon glyphicon-plus"></i> 新增</a>
                    <br>
                    <hr style="clear: both;">
                    <div class="table-responsive">
                        <table class="table  table-bordered">
                            <thead>
                            <tr>
                                <th width="30">#</th>
                                <th width="30"><input type="checkbox"></th>
                                <th>账号</th>
                                <th>名称</th>
                                <th>邮箱地址</th>
                                <th width="100">操作</th>
                            </tr>
                            </thead>
                            <tbody>
                            <c:if test="${empty requestScope.pageInfo.list }">
                                <tr>
                                    <td colspan="6" align="center">抱歉！没有查询到您要的数据！</td>
                                </tr>
                            </c:if>
                            <c:if test="${!empty requestScope.pageInfo.list }">
<%--                                有数据 遍历显示--%>
                                <c:forEach items="${requestScope.pageInfo.list }" var="admin" varStatus="myStatus">
                                    <tr>
                                        <td>${myStatus.count }</td>
                                  <%--    批量删除暂时不做--%>
                                        <td><input type="checkbox"></td>
                                        <td>${admin.loginAcct }</td>
                                        <td>${admin.userName }</td>
                                        <td>${admin.email }</td>
                                        <td>
<%--                                            分配--%>
<%--                                            <button type="button" class="btn btn-success btn-xs">--%>
<%--                                            </button>--%>

                                            <a href="assign/to/assign/role/page.html?adminId=${admin.id }&pageNum=${requestScope.pageInfo.pageNum }&keyword=${param.keyword }" class="btn btn-success btn-xs"><i class=" glyphicon glyphicon-check"></i></a>
                                                    <%--    修改--%>
<%--                                            <button type="button" class="btn btn-primary btn-xs">--%>
<%--                                            </button>--%>
<%--                                                    <security:csrfInput/>--%>
                                            <a href="admin/to/edit/page.html?adminId=${admin.id}&pageNum=${requestScope.pageInfo.pageNum}&keyword=${param.keyword}" class="btn btn-primary btn-xs"> <i class=" glyphicon glyphicon-pencil"> </i></a>
                                          <%--  删除 REST风格 取数据时用@PathVariable  注意到这里还和之前是一次请求 若有keyword 还可以从参数中获取--%>
                                          <a href="admin/remove/${admin.id}/${requestScope.pageInfo.pageNum}/${param.keyword}.html" class="btn btn-danger btn-xs"> <i class ="glyphicon glyphicon-remove"></i></a>
                                        </td>
                                    </tr>
                                </c:forEach>
                            </c:if>
                            </tbody>
                            <tfoot>
                            <tr>
                                <td colspan="6" align="center">
                                    <div id="Pagination" class="pagination"><!-- 这里显示分页 --></div>
                                </td>
                            </tr>
                            </tfoot>
                        </table>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
</body>
</html>